﻿using System;
namespace Producers.Kis.Xtee.Riik.Ee.Producer.Kis {
    
    
    public partial class PetitionerData : global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IPetitionerData {
        
        private global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IPetitioner @__petitioner;
        
        private bool @__isSender;
        
        private System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IAddress> @__address = new System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IAddress>();
        
        private System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IContactInformation> @__contactInformation = new System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IContactInformation>();
        
        public PetitionerData() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public PetitionerData(global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IPetitioner @petitioner, bool @isSender, System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IAddress> @address, System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IContactInformation> @contactInformation) {
            this.@__petitioner = @petitioner;
            this.@__isSender = @isSender;
            this.@__address = @address;
            this.@__contactInformation = @contactInformation;
        }
        
        /// <summary>
        /// Required parameters
        /// </summary>
        public PetitionerData(global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IPetitioner @petitioner, bool @isSender, System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IAddress> @address) {
            this.@__petitioner = @petitioner;
            this.@__isSender = @isSender;
            this.@__address = @address;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected PetitionerData(IPetitionerData @petitionerData) {
            this.@__petitioner = @petitionerData.Petitioner;
            this.@__isSender = @petitionerData.IsSender;
            this.@__address = @petitionerData.Address;
            this.@__contactInformation = @petitionerData.ContactInformation;
        }
        
        public virtual global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IPetitioner Petitioner {
            get {
                return this.@__petitioner;
            }
            set {
                this.@__petitioner = value;
            }
        }
        
        public virtual bool IsSender {
            get {
                return this.@__isSender;
            }
            set {
                this.@__isSender = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IAddress> Address {
            get {
                return this.@__address;
            }
            set {
                this.@__address = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IContactInformation> ContactInformation {
            get {
                return this.@__contactInformation;
            }
            set {
                this.@__contactInformation = value;
            }
        }
    }
}
